/**
 * 在这个配置文件中，对外暴露（导出）一个包含了自定义配置选项的对象
 * 官方文档：https://cli.vuejs.org/zh/config/#vue-config-js
 * @type {{}}
 */
module.exports = {

  chainWebpack: config => {
    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      // config.entry('app')得到默认的打包入口。 将默认打包入口清空后，追加自定义的打包入口
      config.entry('app').clear().add('./src/main-prod.js')

      // 通过externals加载外部 CDN 资源
      config.set('externals', {
        // 前面是包没，后面是别名（全局对象）
        vue: 'Vue',
        'vue-router': 'VueRouter',
        axios: 'axios',
        lodash: '_',
        echarts: 'echarts',
        nprogress: 'NProgress',
        'vue-quill-editor': 'VueQuillEditor'
      })
      // html插件
      config.plugin('html').tap(args => {
        // 给args追加一个自定义属性，属性名叫 isProd，值为true
        args[0].isProd = true
        return args
      })
    })
    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      // config.entry('app')得到默认的打包入口。 将默认打包入口清空后，追加自定义的打包入口
      config.entry('app').clear().add('./src/main-dev.js')

      // html插件
      config.plugin('html').tap(args => {
        // 给args追加一个自定义属性，属性名叫 isProd，值为false
        args[0].isProd = false
        return args
      })
    })
  }


}
